.touch-ripple {
    display: block;
    overflow: hidden;
    border-radius: inherit;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    mask-image: -webkit-radial-gradient(circle, #fff, #000);
}

.touch-ripple .ripple {
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border-radius: 50%;
    background-color: #fff;
    background-clip: padding-box;
    opacity: 0.2;
    transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out, transform 0.4s ease-out;
}

.touch-ripple .ripple.held {
    opacity: 0.4;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.touch-ripple .ripple.done {
    opacity: 0 !important;
}
